In an increasingly networked world, more and more traffic, such as data, voice, and video, is transmitted over public and proprietary networks. When routing traffic through the network, it is desirable to be able to assign different types of traffic different priorities as the traffic traverses the network. Some applications require stringent limits on end-to-end traffic delay while other applications require minimal bandwidth guarantees. For example, because streaming video and voice data, when it is delayed, can result in a noticeable degradation in quality to the end-user, it may be desirable to assign this type of traffic a higher priority than other traffic.
In Internet Protocol (IP) packet-based networks, network devices (e.g., routers, switches, etc.) may handle the transmission of the packets through the network. Packets belonging to different traffic classes may be given different priorities by the network devices. The network devices may allocate network resources (such as bandwidth) to the traffic classes based on predetermined bandwidth allocation policies. For example, within the network device, packets of different traffic classes that are routed to the same output port may share the link resources of the output port. In some cases, an output port may be intentionally over-subscribed to maximize available resources. When the incoming traffic data rate exceeds the output port link capacity, the packets may be buffered and the bandwidth allocation policies applied.
A scheduler may control the dequeuing of packets from the buffer queues. In case of an over-subscribed port scenario (e.g., traffic from multiple ingress ports feeding into single output port), a single ingress port/queue can monopolize the output port's available bandwidth. The packet scheduler may be configured to ensure ratios between the queues on the over-subscribed port. However the packet scheduler will not provide fair share/priority among the traffic feeding into queues of the over-subscribed port.
Storm control configuration in case of over-subscribed port scenario also presents a unique configuration challenge. A storm is generated when messages are broadcast on a network and each message prompts a receiving node (e.g., network device) to respond by broadcasting its own messages on the network. This, in turn, prompts further responses, creating a snowball effect and resulting in a broadcast storm that can cause network outages. If the configuration on the over-subscribed port is same as the over-subscribing port, aggressive unknown unicast messages from one source could potentially starve off all other sources of unknown unicast, broadcast, and/or multicast traffic leading the situation where the mechanism to control storms is itself contributing to a denial-of-service (DOS) attack.